請編寫一個程序迭代求解sin(x),迭代公式為sin(x)=x/1-x^3!+x^5/5!-x^7/7!+...+(-1)^(2n-1)/(2n-1)!,當n項的值小于10^-5時結束,x為弧度。要求輸入x的值,輸出相應的結果。
【注意】迭代公式中的^代表冪運算。并且輸入和輸出各占一行,輸出結果保留4位小數;運行效果如下所示。
【運行結果】
輸入(一行):
1.57
輸出(一行):
1.0000
一、代碼:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
@author: Roc-xb
"""
?
import math
?
if __name__ == '__main__':
? ? x = float(input())
? ? y = 0
? ? p = 1
? ? t = 1
? ? i = 1
? ? while abs(math.sin(x) - y) > 0.00001:
? ? ? ? y += i * pow(x, p) / t
? ? ? ? i *= -1
? ? ? ? p += 2
? ? ? ? t *= p * (p - 1)
? ? print("{:.4f}".format(y))